#include <key.h>

/* 函数作用：初始化与按键相关的GPIO引脚
 * 参数说明：void
 * 返回值：void
 */
void key_init(void)
{
    GPIO_InitTypeDef GPIO_InitStrue;

    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOC, ENABLE); // 开启GPIOB时钟

    GPIO_InitStrue.GPIO_Mode  = GPIO_Mode_IPD; // 下拉输入
    GPIO_InitStrue.GPIO_Pin   = GPIO_Pin_0;
    GPIO_InitStrue.GPIO_Speed = GPIO_Speed_50MHz;

    GPIO_Init(GPIOA, &GPIO_InitStrue); // 初始化与LED相关的引脚

    GPIO_InitStrue.GPIO_Pin = GPIO_Pin_13;

    GPIO_Init(GPIOC, &GPIO_InitStrue); // 初始化与LED相关的引脚
}

/* 函数作用：按键扫描
 * 参数说明：void
 * 返回值：返回按键号，0表示无按键按下
 */
uint8_t key_scanf(void)
{
    if (key1 == 1 || key2 == 1)
    {
        delay_ms(10); // 按键消抖
        if (key1 == 1)
        {
            while (key1 == 1) // 检测按键是否松开
                ;
            return 1;
        }
        else if (key2 == 1)
        {
            while (key2 == 1) // 检测按键是否松开
                ;
            return 2;
        }
        else
        {
            return 0; // 无按键按下
        }
    }
    return 0; // 无按键按下
}
